﻿<!-- Add Schematron Data --><schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<ns prefix="f103" uri="urn:f103"/>
<ns prefix="xsi" uri="urn:xsi"/>
<ns prefix="fias" uri="urn:fias"/>
	<!-- У1-1 -->
	<pattern>	
		<rule context="//assignedPerson">
			<assert test="count(name)=1">У1-1. Элементы //assignedPerson ДОЛЖНЫ иметь один элемент name.</assert>
			<report test="@nullFlavor or name/@nullFlavor or name/family/@nullFlavor or name/given/@nullFlavor">У1-1. Элементы //assignedPerson НЕ ДОЛЖНЫ содержать @nullFlavor.</report>
			<assert test="count(name/family)=1">У1-1. Элементы //assignedPerson/name ДОЛЖНЫ иметь один элемент family.</assert>
			<assert test="count(name/given)=1 or 2">У1-1. Элементы //assignedPerson/name ДОЛЖНЫ иметь один или два элемента given.</assert>
		</rule>
	</pattern>
	<!-- У1-2 -->
	<pattern>
		<rule context="//providerOrganization | //representedOrganization | //representedCustodianOrganization">
			<assert test="count(name)=1">У1-2. Элементы //providerOrganization, //representedOrganization, //representedCustodianOrganization ДОЛЖНЫ иметь один элемент name.</assert>
			<report test="name/@nullFlavor">У1-2. Элементы //providerOrganization/name, //representedOrganization/name, //representedCustodianOrganization/name НЕ ДОЛЖНЫ содержать @nullFlavor.</report>
			<assert test="count(addr)=1">У1-2. Элементы //providerOrganization, //representedOrganization, //representedCustodianOrganization ДОЛЖНЫ иметь один элемент addr.</assert>
		</rule>
	</pattern>
	<!-- У1-3 -->
	<pattern>
		<rule context="//addr[not(@nullFlavor)]">
			<assert test="count(state)=1">У1-3. Элементы //addr ДОЛЖНЫ иметь один элемент state.</assert>
		</rule>
	</pattern>
	<!-- У1-4 -->
	<pattern>
		<rule context="//addr">
			<assert test="count(fias:GUID)&lt;=1">У1-4. Элементы //addr МОГУТ иметь не более 1 элемента fias:GUID.</assert>
			<assert test="count(fias:GUID/@nullFlavor)&lt;=1">У1-4. Элементы //addr/fias:GUID МОГУТ иметь не более одного элемента @nullFlavor.</assert>
		</rule>
	</pattern>
	<!-- У1-5 -->
	<pattern>
		<rule context="//providerOrganization | //representedOrganization | //representedCustodianOrganization">
			<assert test="count(addr/streetAddressLine)=1">У1-5. Элементы //providerOrganization/addr, //representedOrganization/addr, //representedCustodianOrganization/addr ДОЛЖНЫ иметь один элемент streetAddressLine.</assert>
		</rule>
	</pattern>
	<!-- У1-6 -->
	<!-- У1-7 -->
	<pattern>
		<rule context="ClinicalDocument/effectiveTime | ClinicalDocument/author/time | ClinicalDocument/legalAuthenticator/time">
			<assert test="matches(@value, '^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}$') or matches(@value,'^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}[0-2]{1}[0-9]{1}[0-5]{1}[0-9]{1}\+[0-2]{1}[0-9]{1}[0-5]{1}[0]{1}$')">У1-7. Дата в элементе ДОЛЖНА быть указана с точностью до дня, МОЖНО указывать с точностью до минут. Если указано с точностью до минут, то ДОЛЖНА быть указана временная зона.</assert>
			<report test="@nullFlavor">У1-7. Элементы ClinicalDocument/effectiveTime, ClinicalDocument/author/time, ClinicalDocument/legalAuthenticator/time НЕ ДОЛЖНЫ содержать @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-8 -->
	<pattern>
		 <rule context="//telecom">
			<assert test="matches(@value, '^tel:\+?[-0-9().]+$|^([^t].+|t[^e].*|te[^l].*)$') or @nullFlavor">У1-8. Все элементы //telecom со схемой "tel:" ДОЛЖНЫ соответствовать следующему регулярному выражению: tel:\+?[-0-9().]+ Как минимум одна цифра ДОЛЖНА остаться в номере телефона после удаления всех разделителей.</assert>
		</rule>
	</pattern>
	<!-- У1-9 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(realmCode)=1">У1-9. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент realmCode.</assert>
			<assert test="realmCode/@code='RU'">У1-9. Элемент ClinicalDocument/realmCode ДОЛЖЕН иметь значение атрибута @code равное 'RU'.</assert>
		</rule>
	</pattern>
	<!-- У1-10 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(typeId)=1">У1-10. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент typeId.</assert>
			<assert test="typeId/@extension='POCD_HD000040'">У1-10. Элемент ClinicalDocument/typeId ДОЛЖЕН иметь значение атрибута @extension равное 'POCD_HD000040'.</assert>
			<assert test="typeId/@root='2.16.840.1.113883.1.3'">У1-10. Элемент ClinicalDocument/typeId ДОЛЖЕН иметь значение атрибута @root равное '2.16.840.1.113883.1.3'.</assert>
		</rule>
	</pattern>
	<!-- У1-11 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(templateId)=1">У1-11. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент templateId.</assert>
			<assert test="templateId/@root='1.2.643.5.1.13.2.7.5.1.33.3'">У1-11. Элемент ClinicalDocument/templateId ДОЛЖЕН иметь значение атрибута @root равное '1.2.643.5.1.13.2.7.5.1.33.3'.</assert>
		</rule>
	</pattern>
	<!-- У1-12 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(id)=1">У1-12. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(id/@extension)=1">У1-12. Элемент ClinicalDocument/id ДОЛЖЕН иметь атрибут @extension.</assert>
			<assert test="matches(id/@root,'^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$')">У1-12. Элемент ClinicalDocument/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+'.</assert>
		</rule>
	</pattern>
	<!-- У1-13 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(code)=1">У1-13. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="code/@code='33'">У1-13. Элемент ClinicalDocument/code ДОЛЖЕН иметь значение атрибута @code равное '33'.</assert>
			<assert test="code/@codeSystem=['1.2.643.5.1.13.13.11.1115','1.2.643.5.1.13.13.11.1522','1.2.643.5.1.13.13.99.2.195']">У1-13. Элемент ClinicalDocument/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1115', '1.2.643.5.1.13.13.99.2.195' или '1.2.643.5.1.13.13.11.1522'.</assert>
		</rule>
	</pattern>
	<!-- У1-14 -->	
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(title)=1">У1-14. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент title.</assert>
			<assert test="code/@code='33'">У1-14. Элемент ClinicalDocument/code ДОЛЖЕН иметь значение атрибута @code равное '33'.</assert>
			<assert test="title/normalize-space(text())!=''">У1-14. Элемент ClinicalDocument/title ДОЛЖЕН содержать не пустое наполнение.</assert>
		</rule>	
	</pattern>
	<!-- У1-15 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(effectiveTime)=1">У1-15. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент effectiveTime.</assert>
			<assert test="matches(effectiveTime/@value, '^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}$') or matches(effectiveTime/@value,'^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}[0-2]{1}[0-9]{1}[0-5]{1}[0-9]{1}\+[0-2]{1}[0-9]{1}[0-5]{1}[0]{1}$')">У1-15. Дата в элементе ClinicalDocument/effectiveTime ДОЛЖНА быть указана с точностью до дня, МОЖНО указывать с точностью до минут. Если указано с точностью до минут, то ДОЛЖНА быть указана временная зона.</assert>
			<report test="effectiveTime/@nullFlavor">У1-15. Элемент ClinicalDocument/effectiveTime НЕ ДОЛЖЕН содержать @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-16 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(confidentialityCode)=1">У1-16. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент confidentialityCode.</assert>
			<assert test="confidentialityCode/@codeSystem='1.2.643.5.1.13.13.11.1116' or '1.2.643.5.1.13.13.99.2.285'">У1-16. Элемент ClinicalDocument/confidentialityCode ДОЛЖЕН иметь значение атрибута @codeSystem равное "1.2.643.5.1.13.13.11.1116" или "1.2.643.5.1.13.13.99.2.285".</assert>
			<assert test="confidentialityCode/@code!=''">У1-16. Элемент ClinicalDocument/confidentialityCode ДОЛЖЕН иметь атрибут @code, представленый не пустым значением.</assert>
			<assert test="confidentialityCode/@codeSystemName!=''">У1-16. Элемент ClinicalDocument/confidentialityCode ДОЛЖЕН иметь атрибут @codeSystemName, представленый не пустым значением.</assert>
			<assert test="confidentialityCode/@displayName!=''">У1-16. Элемент ClinicalDocument/confidentialityCode ДОЛЖЕН иметь атрибут @displayName, представленый не пустым значением.</assert>
		</rule>
	</pattern>
	<!-- У1-17 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(languageCode)=1">У1-17. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент languageCode.</assert>
			<assert test="languageCode/@code='ru-RU'">У1-17. Элемент ClinicalDocument/code ДОЛЖЕН иметь значение атрибута @code равное 'ru-RU'.</assert>
		</rule>	
	</pattern>
	<!-- У1-18 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(id)=1">У1-18. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(setId)=1">У1-18. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент setId.</assert>
			<assert test="count(versionNumber)=1">У1-18. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент versionNumber.</assert>
			<assert test="count(id/@root)=1">У1-18. Элемент ClinicalDocument/id ДОЛЖЕН иметь атрибут @root.</assert>
			<assert test="count(id/@extension)=1">У1-18. Элемент ClinicalDocument/id ДОЛЖЕН иметь атрибут @extension.</assert>
			<assert test="count(setId/@root)=1">У1-18. Элемент ClinicalDocument/setId ДОЛЖЕН иметь атрибут @root.</assert>
			<assert test="count(setId/@extension)=1">У1-18. Элемент ClinicalDocument/setId ДОЛЖЕН иметь атрибут @extension.</assert>
			<assert test="matches(id/@root,'^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$')">У1-18. Элемент ClinicalDocument/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+'.</assert>
			<assert test="matches(setId/@root,'^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$')">У1-18. Элемент ClinicalDocument/setId ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+'.</assert>
			<report test="matches(id/@root,setId/@root)">У1-18. Значения атрибута @root элементов ClinicalDocument/id и ClinicalDocument/setId ДОЛЖНЫ различаться.</report>
			<assert test="versionNumber/@value!=''">У1-18. Элемент ClinicalDocument/versionNumber ДОЛЖЕН иметь атрибут @value, представленый не пустым значением.</assert>
		</rule>
	</pattern>
	<!-- У1-19 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget">
			<assert test="count(patientRole)=1">У1-19. Элемент ClinicalDocument/recordTarget ДОЛЖЕН иметь один элемент patientRole.</assert>
			<assert test="count(patientRole/id)=1">У1-19. Элемент ClinicalDocument/recordTarget/patientRole ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(patientRole/patient)=1">У1-19. Элемент ClinicalDocument/recordTarget/patientRole ДОЛЖЕН иметь один элемент patient.</assert>
		</rule>	
	</pattern>
	<!-- У1-20 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient[name[not(@nullFlavor)]]">
			<assert test="count(name)=1">У1-20. Элемент ClinicalDocument/recordTarget/patientRole/patient ДОЛЖЕН иметь один элемент name.</assert>
			<assert test="count(name/family)=1">У1-20. Элемент ClinicalDocument/recordTarget/patientRole/patient/name ДОЛЖЕН иметь один элемент family.</assert>
			<assert test="count(name/@nullFlavor)=0 or name/@nullFlavor='ASKU' or name/@nullFlavor='NA'">У1-20. Если элемент ClinicalDocument/recordTarget/patientRole/patient/name не может быть заполнен данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимые в данном случае значения для @nullFlavor: "ASKU" и "NA".</assert>
		</rule>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient[name[@nullFlavor]]">
			<assert test="name/@nullFlavor='ASKU' or name/@nullFlavor='NA'">У1-20. Если элемент ClinicalDocument/recordTarget/patientRole/patient/name не может быть заполнен данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимые в данном случае значения для @nullFlavor: "ASKU" и "NA".</assert>
		</rule>
	</pattern>
	<!-- У1-21 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole">
			<assert test="count(id)=1">У1-21. Элемент ClinicalDocument/recordTarget/patientRole ДОЛЖЕН иметь один элемент id.</assert>
		</rule>
		<rule context="ClinicalDocument/recordTarget/patientRole/id">
			<assert test="count(@root)=1">У1-21. Элемент ClinicalDocument/recordTarget/patientRole/id ДОЛЖЕН иметь атрибут @root.</assert>
			<assert test="count(@extension)=1">У1-21. Элемент ClinicalDocument/recordTarget/patientRole/id ДОЛЖЕН иметь атрибут @extension.</assert>
	 		<assert test="matches(@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$')">У1-21. Элемент ClinicalDocument/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+'.</assert>
		</rule>
	</pattern>
	<!-- У1-22 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole">
			<assert test="count(patient)=1">У1-22. Элемент ClinicalDocument/recordTarget/patientRole ДОЛЖЕН иметь один элемент patient.</assert>
			<assert test="count(patient/birthTime)=1">У1-22. Элемент ClinicalDocument/recordTarget/patientRole/patient ДОЛЖЕН иметь один элемент @birthTime.</assert>
			<assert test="count(patient/name)=1">У1-22. Элемент ClinicalDocument/recordTarget/patientRole/patient ДОЛЖЕН иметь один элемент @name.</assert>
			<assert test="count(patient/administrativeGenderCode)=1">У1-22. Элемент ClinicalDocument/recordTarget/patientRole/patient ДОЛЖЕН иметь один элемент @administrativeGenderCode.</assert>
		</rule>
	</pattern>
	<!-- У1-23 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode">
			<assert test="@codeSystem=['1.2.643.5.1.13.13.11.1040','1.2.643.5.1.13.2.1.1.156']">У1-23. Элемент ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1040' или '1.2.643.5.1.13.2.1.1.156'.</assert>
			<assert test="@code!=''">У1-23. Элемент ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode ДОЛЖЕН иметь атрибут @code, представленый не пустым значением.</assert>
			<assert test="@codeSystemName!=''">У1-23. Элемент ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode ДОЛЖЕН иметь атрибут @codeSystemName, представленый не пустым значением.</assert>
			<assert test="@displayName!=''">У1-23. Элемент ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode ДОЛЖЕН иметь атрибут @displayName, представленый не пустым значением.</assert>
			<report test="@nullFlavor">У1-23. Элемент ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-24 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient/birthTime">
			<assert test="matches(@value, '^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}$') or matches(@value,'^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}[0-2]{1}[0-9]{1}[0-5]{1}[0-9]{1}\+[0-2]{1}[0-9]{1}[0-5]{1}[0]{1}$')">У1-24. Дата в элементе ClinicalDocument/recordTarget/patientRole/patient/birthTime ДОЛЖНА быть указана с точностью до дня, МОЖНО указывать с точностью до минут. Если указано с точностью до минут, то ДОЛЖНА быть указана временная зона.</assert>
		</rule>
	</pattern>
	<!-- У1-25 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient[birthplace[place[not(@nullFlavor)]]]">
			<assert test="count(birthplace)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient ДОЛЖЕН иметь один элемент birthplace.</assert>
			<assert test="count(birthplace/place)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace ДОЛЖЕН иметь один элемент place.</assert>
			<assert test="count(birthplace/place/addr)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place ДОЛЖЕН иметь один элемент addr.</assert>
			<assert test="count(birthplace/place/addr/fias:GUID)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr ДОЛЖЕН иметь один элемент fias:GUID.</assert>
			<assert test="count(birthplace/place/addr/fias:GUID/@nullFlavor)&lt;=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr/fias:GUID МОЖЕТ иметь не более одного элемента @nullFlavor.</assert>
			<assert test="count(birthplace/place/addr/state)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr ДОЛЖЕН иметь один элемент state.</assert>
			<report test="birthplace/place/addr/state/@nullFlavor">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr/state НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="count(birthplace/place/addr/precinct)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr ДОЛЖЕН иметь один элемент precinct.</assert>
			<report test="birthplace/place/addr/precinct/@nullFlavor">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr/precinct НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="count(birthplace/place/addr/city)=1">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr ДОЛЖЕН иметь один элемент city.</assert>
			<report test="birthplace/place/addr/city/@nullFlavor">У1-25. Элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace/place/addr/city НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/recordTarget/patientRole/patient[birthplace[place[@nullFlavor]]]">
			<assert test="birthplace/place/@nullFlavor='UNK'">У1-25. Если элемент ClinicalDocument/recordTarget/patientRole/patient/birthplace не может быть заполнен данными, то атрибут place/@nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "UNK".</assert>
		</rule>
	</pattern>
	<!-- У1-26 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole">
			<assert test="count(providerOrganization)=1">У1-26. Элемент ClinicalDocument/recordTarget/patientRole ДОЛЖЕН иметь один элемент providerOrganization.</assert>
			<assert test="count(providerOrganization/id)=1">У1-26. Элемент ClinicalDocument/recordTarget/patientRole/providerOrganization ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(providerOrganization/id/@root)=1">У1-26. Элемент ClinicalDocument/recordTarget/patientRole/providerOrganization/id ДОЛЖЕН иметь атрибут @root.</assert>
	 		<assert test="matches(providerOrganization/id/@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$')">У1-26. Элемент ClinicalDocument/recordTarget/patientRole/providerOrganization/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+'.</assert>
			<assert test="count(providerOrganization/name)=1">У1-26. Элемент ClinicalDocument/recordTarget/patientRole/providerOrganization ДОЛЖЕН иметь один элемент name.</assert>
			<assert test="count(providerOrganization/addr)=1">У1-26. Элемент ClinicalDocument/recordTarget/patientRole/providerOrganization ДОЛЖЕН иметь один элемент addr.</assert>
		</rule>
	</pattern>
	<!-- У1-27 -->
	<pattern>
		<rule context="ClinicalDocument/recordTarget/patientRole/providerOrganization">
			<assert test="matches(id[1]/@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}$') or id[1]/@nullFlavor='OTH'">У1-27. Первый элемент ClinicalDocument/recordTarget/patientRole/providerOrganization/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, заполненное значением из справочника "Реестр медицинских организаций Российской Федерации" (идентификатор справочника 1.2.643.5.1.13.13.11.1461). Если элемент не может быть заполнен данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "OTH".</assert>
		</rule>
	</pattern>
	<!-- У1-28 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(author)=1">У1-28. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент author.</assert>
			<assert test="count(author/time)=1">У1-28. Элемент ClinicalDocument/author ДОЛЖЕН иметь один элемент time.</assert>
			<report test="author/time/@nullFlavor">У1-28. Элемент ClinicalDocument/author/time НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="count(author/assignedAuthor)=1">У1-28. Элемент ClinicalDocument/author ДОЛЖЕН иметь один элемент assignedAuthor.</assert>
		</rule>
	</pattern>
	<!-- У1-29 -->
	<pattern>	
		<rule context="//assignedAuthor">
			<assert test="count(id)=1 or 2">У1-29. Элементы //assignedAuthor ДОЛЖНЫ иметь один или два элемента id.</assert>
			<assert test="count(code)=1">У1-29. Элементы //assignedAuthor ДОЛЖНЫ иметь один элемент code.</assert>
			<assert test="count(assignedPerson)=1">У1-29. Элементы //assignedAuthor ДОЛЖНЫ иметь один элемент assignedPerson.</assert>
			<assert test="count(addr)&lt;=1">У1-29. Элементы //assignedAuthor МОГУТ иметь один элемент addr.</assert>
			<assert test="count(representedOrganization)&lt;=1">У1-29. Элементы //assignedAuthor МОГУТ иметь один элемент representedOrganization.</assert>
		</rule>
	</pattern>
	<!-- У1-30 -->
	<pattern>
		<rule context="ClinicalDocument/author/assignedAuthor/id[1]">
			<assert test="@extension">У1-30. Первый элемент ClinicalDocument/author/assignedAuthor/id ДОЛЖЕН иметь атрибут @extension</assert>
			<assert test="matches(@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}\.100\.[0-9]{1,9}\.[0-9]{1,9}\.70$')">У1-30. Первый элемент ClinicalDocument/author/assignedAuthor/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, быть сформирован по правилу формирования идентификаторов персонала, т.е. "OID_медицинской_организации.100.НомерМИС.НомерЭкзМИС.70".</assert>
		</rule>
	</pattern>
	<!-- У1-31 -->
	<pattern>
		<rule context="ClinicalDocument/author/assignedAuthor/id[2]">
			<assert test="@extension">У1-31. Второй элемент ClinicalDocument/author/assignedAuthor/id ДОЛЖЕН иметь атрибут @extension.</assert>
			<assert test="@root='1.2.643.100.3'">У1-31. Второй элемент ClinicalDocument/author/assignedAuthor/id ДОЛЖЕН иметь значение атрибута @extension равное '1.2.643.100.3'.</assert>
		</rule>
	</pattern>
	<!-- У1-32 -->
	<pattern>
		<rule context="ClinicalDocument/author/assignedAuthor">
			<assert test="count(code)=1">У1-32. Элемент ClinicalDocument/author/assignedAuthor ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="code/@codeSystem='1.2.643.5.1.13.13.11.1002'">У1-32. Элемент ClinicalDocument/author/assignedAuthor/code ДОЛЖЕН иметь значение атрибута codeSystem равное '1.2.643.5.1.13.13.11.1002'.</assert>
			<assert test="code/@code!=''">У1-32. Элемент ClinicalDocument/author/assignedAuthor/code ДОЛЖЕН иметь атрибут @code, представленый не пустым значением.</assert>
			<assert test="code/@codeSystemName!=''">У1-32. Элемент ClinicalDocument/author/assignedAuthor/code ДОЛЖЕН иметь атрибут @codeSystemName, представленый не пустым значением.</assert>
			<assert test="code/@displayName!=''">У1-32. Элемент ClinicalDocument/author/assignedAuthor/code ДОЛЖЕН иметь атрибут @displayName, представленый не пустым значением.</assert>
			<report test="code/@nullFlavor">У1-32. Элемент ClinicalDocument/author/assignedAuthor/code НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-33 -->
	<pattern>
		<rule context="ClinicalDocument/author/assignedAuthor">
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/id)=1)">У1-33. Элемент ClinicalDocument/author/assignedAuthor/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/name)=1)">У1-33. Элемент ClinicalDocument/author/assignedAuthor/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент name.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/addr)=1)">У1-33. Элемент ClinicalDocument/author/assignedAuthor/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент addr.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/telecom)>=1)">У1-33. Элемент ClinicalDocument/author/assignedAuthor/representedOrganization, если представлен, ДОЛЖЕН иметь хотя бы один элемент telecom.</assert>
		</rule>
	</pattern>
	<!-- У1-34 -->
	<pattern>
		<rule context="ClinicalDocument/author/assignedAuthor/representedOrganization">
			<assert test="not(id) or (count(id)=1 and id/@root and matches(id/@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$') or id/@nullFlavor='OTH')">У1-34. Элемент ClinicalDocument/author/assignedAuthor/representedOrganization/id, если представлен, ДОЛЖЕН быть заполнен значением из справочника "Реестр медицинских организаций Российской Федерации" (идентификатор справочника 1.2.643.5.1.13.13.11.1461). Если элемент id не может быть заполнен данными (в случае индивидуального предпринимателя), то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "OTH".</assert>
		</rule>
	</pattern>
	<!-- У1-35 -->
	<pattern>
		<rule context="ClinicalDocument/custodian/assignedCustodian">
			<assert test="count(representedCustodianOrganization)=1">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian ДОЛЖЕН иметь один элемент representedCustodianOrganization.</assert>
			<assert test="count(representedCustodianOrganization/id)=1">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(representedCustodianOrganization/name)=1">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization ДОЛЖЕН иметь один элемент name.</assert>
			<assert test="count(representedCustodianOrganization/telecom)=1">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization ДОЛЖЕН иметь один элемент telecom.</assert>
			<assert test="count(representedCustodianOrganization/addr)=1">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization ДОЛЖЕН иметь один элемент addr.</assert>
			<report test="representedCustodianOrganization/name/@nullFlavor">У1-35. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization/name НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-36 -->
	<pattern>
		<rule context="ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization/id">
	 		<assert test="matches(@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$') or id/@nullFlavor='OTH'">У1-36. Элемент ClinicalDocument/custodian/assignedCustodian/representedCustodianOrganization/id ДОЛЖЕН быть заполнен значением из справочника "Реестр медицинских организаций Российской Федерации" (идентификатор справочника 1.2.643.5.1.13.13.11.1461). Если элемент id не может быть заполнен данными (в случае индивидуального предпринимателя), то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "OTH".</assert>
		</rule>
	</pattern>
	<!-- У1-37 -->
	<pattern>
		<rule context="ClinicalDocument/informationRecipient/intendedRecipient">
			<assert test="count(receivedOrganization)=1">У1-37. Элемент ClinicalDocument/informationRecipient/intendedRecipient ДОЛЖЕН иметь один элемент receivedOrganization.</assert>
			<assert test="count(receivedOrganization/id)=1">У1-37. Элемент ClinicalDocument/informationRecipient/intendedRecipient/receivedOrganization ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(receivedOrganization/name)=1">У1-37. Элемент ClinicalDocument/informationRecipient/intendedRecipient/receivedOrganization ДОЛЖЕН иметь один элемент name.</assert>
			<report test="receivedOrganization/id/@nullFlavor">У1-37. Элемент ClinicalDocument/informationRecipient/intendedRecipient/receivedOrganization/id НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="receivedOrganization/name/@nullFlavor">У1-37. Элемент ClinicalDocument/informationRecipient/intendedRecipient/receivedOrganization/name НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-38 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="count(legalAuthenticator)=1">У1-38. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент legalAuthenticator.</assert>
			<assert test="count(legalAuthenticator/time)=1">У1-38. Элемент ClinicalDocument/legalAuthenticator ДОЛЖЕН иметь один элемент time.</assert>
			<assert test="count(legalAuthenticator/signatureCode)=1">У1-38. Элемент ClinicalDocument/legalAuthenticator ДОЛЖЕН иметь один элемент signatureCode.</assert>
			<assert test="count(legalAuthenticator/assignedEntity)=1">У1-38. Элемент ClinicalDocument/legalAuthenticator ДОЛЖЕН иметь один элемент assignedEntity.</assert>
			<assert test="count(legalAuthenticator/assignedEntity/id)=1 or 2">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity ДОЛЖЕН иметь один или два элемента id.</assert>
			<assert test="count(legalAuthenticator/assignedEntity/assignedPerson)=1">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity ДОЛЖЕН иметь один элемент assignedEntity.</assert>
			<assert test="count(legalAuthenticator/assignedEntity/addr)&lt;=1">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity МОЖЕТ иметь один элемент addr.</assert>
			<assert test="count(legalAuthenticator/assignedEntity/representedOrganization)&lt;=1">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity МОЖЕТ иметь один элемент representedOrganization.</assert>
			<report test="legalAuthenticator/time/@nullFlavor">У1-38. Элемент ClinicalDocument/legalAuthenticator/time НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="legalAuthenticator/signatureCode/@nullFlavor">У1-38. Элемент ClinicalDocument/legalAuthenticator/signatureCode НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="legalAuthenticator/assignedEntity/id/@nullFlavor">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/id НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="legalAuthenticator/assignedEntity/code/@nullFlavor">У1-38. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/code НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-39 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/signatureCode">
			<assert test="@code='S'">У1-39. Элемент ClinicalDocument/legalAuthenticator/signatureCode ДОЛЖЕН иметь значение атрибута @code равное 'S'.</assert>
		</rule>
	</pattern>
	<!-- У1-40 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/assignedEntity/id[1]">
			<assert test="@extension">У1-40. Первый элемент ClinicalDocument/legalAuthenticator/assignedEntity/id ДОЛЖЕН иметь атрибут @extension</assert>
			<assert test="matches(@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}\.100\.[0-9]{1,9}\.[0-9]{1,9}\.70$')">У1-40. Первый элемент ClinicalDocument/legalAuthenticator/assignedEntity/id ДОЛЖЕН иметь синтаксически корректное значение атрибута @root, быть сформирован по правилу формирования идентификаторов персонала, т.е. "OID_медицинской_организации.100.НомерМИС.НомерЭкзМИС.70".</assert>
		</rule>
	</pattern>
	<!-- У1-41 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/assignedEntity">
			<assert test="not(id[2]) or (id[2] and id[2]/@extension)">У1-41. Второй элемент ClinicalDocument/legalAuthenticator/assignedEntity/id, если представлен, ДОЛЖЕН иметь атрибут @extension.</assert>
			<assert test="not(id[2]) or (id[2] and id[2]/@root='1.2.643.100.3')">У1-41. Второй элемент ClinicalDocument/legalAuthenticator/assignedEntity/id, если представлен, ДОЛЖЕН иметь значение атрибута @root равное '1.2.643.100.3'.</assert>
		</rule>
	</pattern>
	<!-- У1-42 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/assignedEntity">
			<assert test="count(code)=1">У1-42. Элемент ClinicalDocument/legalAuthenticator/assignedEntity ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="code/@codeSystem='1.2.643.5.1.13.13.11.1002'">У1-42. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/code ДОЛЖЕН иметь значение атрибута codeSystem равное '1.2.643.5.1.13.13.11.1002'.</assert>
			<assert test="code/@code!=''">У1-42. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/code ДОЛЖЕН иметь атрибут @code, представленый не пустым значением.</assert>
			<assert test="code/@codeSystemName!=''">У1-42. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/code ДОЛЖЕН иметь атрибут @codeSystemName, представленый не пустым значением.</assert>
			<assert test="code/@displayName!=''">У1-42. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/code ДОЛЖЕН иметь атрибут @displayName, представленый не пустым значением.</assert>
		</rule>
	</pattern>
	<!-- У1-43 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/assignedEntity">
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/id)=1)">У1-43. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/name)=1)">У1-43. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент name.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/addr)=1)">У1-43. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization, если представлен, ДОЛЖЕН иметь один элемент addr.</assert>
			<assert test="not(representedOrganization) or (representedOrganization and count(representedOrganization/telecom)>=1)">У1-43. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization, если представлен, ДОЛЖЕН иметь хотя бы один элемент telecom.</assert>
		</rule>
	</pattern>
	<!-- У1-44 -->
	<pattern>
		<rule context="ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization/id">
	 		<assert test="matches(@root, '^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}(\.100\.[0-9]{1,9}\.[0-9]{1,9}\.[0-9]{2})?$') or id/@nullFlavor='OTH'">У1-44. Элемент ClinicalDocument/legalAuthenticator/assignedEntity/representedOrganization/id ДОЛЖЕН быть заполнен значением из справочника "Реестр медицинских организаций Российской Федерации" (идентификатор справочника 1.2.643.5.1.13.13.11.1461). Если элемент id не может быть заполнен данными (в случае индивидуального предпринимателя), то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "OTH".</assert>
		</rule>
	</pattern>
	<!-- У1-45 -->
	<pattern>
		<rule context="ClinicalDocument">
			<assert test="participant[@typeCode='IRCP']">У1-45. Элемент ClinicalDocument ДОЛЖЕН иметь один элемент participant со значением атрибута @typeCode равным 'IRCP'.</assert>
			<assert test="count(participant[@typeCode='IRCP']/time)=1">У1-45. Элемент ClinicalDocument/participant[@typeCode='IRCP'] ДОЛЖЕН иметь один элемент time.</assert>
			<assert test="count(participant[@typeCode='IRCP']/associatedEntity)=1">У1-45. Элемент ClinicalDocument/participant[@typeCode='IRCP'] ДОЛЖЕН иметь один элемент associatedEntity.</assert>
			<report test="participant[@typeCode='IRCP']/time/@nullFlavor">У1-45. Элемент Элемент ClinicalDocument/participant[@typeCode='IRCP']/time НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="participant[@typeCode='IRCP']/associatedEntity[@classCode='PRS'] or participant[@typeCode='IRCP']/associatedEntity[@classCode='AGNT']">У1-45. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь значение атрибута @classCode равное 'PRS' или 'AGNT'.</assert>
		</rule>
	</pattern>
	<!-- У1-46 -->
	<pattern>
		<rule context="ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity">
			<assert test="count(id)=1">У1-46. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь один элемент id.</assert>
			<assert test="count(f103:IdentityDoc)=1">У1-46. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь один элемент f103:IdentityDoc.</assert>
			<assert test="count(code)=1">У1-46. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="count(associatedPerson)=1">У1-46. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь один элемент associatedPerson.</assert>
		</rule>
	</pattern>
	<!-- У1-47 -->
	<pattern>
		<rule context="ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/id">
			<assert test="(@root='1.2.643.100.3' and @extension!='')
                          or
                          (@nullFlavor and not(@root) and not(@extension))">У1-47. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/id ДОЛЖЕН иметь значение атрибута @root равное '1.2.643.100.3' и атрибут @extension, заполненный номером СНИЛС, ИЛИ атрибут @nullFlavor, заполненый значением из справочника "Причины отсутствия информации (NullFlavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код".</assert>
		</rule>
	</pattern>
	<!-- У1-48 -->
	<pattern>
		<rule context="ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity">
			<assert test="count(f103:IdentityDoc)=1">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity ДОЛЖЕН иметь элемент f103:IdentityDoc.</assert>
			<assert test="(f103:IdentityDoc/@nullFlavor and not(f103:IdentityDoc/f103:IdentityCardTypeId) and not(f103:IdentityDoc/f103:Series) and not(f103:IdentityDoc/f103:Number) and not(f103:IdentityDoc/f103:IssueOrgName) and not(f103:IdentityDoc/f103:IssueOrgCode) and not(f103:IdentityDoc/f103:IssueDate))
                          or
                          (not(f103:IdentityDoc/@nullFlavor) and count(f103:IdentityDoc/f103:IdentityCardTypeId)=1 and count(f103:IdentityDoc/f103:Series)=1 and count(f103:IdentityDoc/f103:Number)=1 and count(f103:IdentityDoc/f103:IssueOrgName)=1 and count(f103:IdentityDoc/f103:IssueOrgCode)=1 and count(f103:IdentityDoc/f103:IssueDate)=1)">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc ДОЛЖЕН иметь атрибут @nullFlavor, заполненый значением из справочника "Причины отсутствия информации (NullFlavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код" или по одному из следующих элементов: f103:IdentityCardTypeId, f103:Series, f103:Number, f103:IssueOrgName, f103:IssueOrgCode, f103:IssueDate.</assert> 
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or f103:IdentityDoc/f103:IdentityCardTypeId/@*[name()='xsi:type']='CD'">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or f103:IdentityDoc/f103:IdentityCardTypeId/@codeSystem='1.2.643.5.1.13.13.99.2.48'">У1-4. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.48'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or f103:IdentityDoc/f103:IdentityCardTypeId/@code!=''">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId ДОЛЖЕН иметь атрибут @code, представленный не пустым значением.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or f103:IdentityDoc/f103:IdentityCardTypeId/@codeSystemName!=''">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId ДОЛЖЕН иметь атрибут @codeSystemName, представленный не пустым значением.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or f103:IdentityDoc/f103:IdentityCardTypeId/@displayName!=''">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId ДОЛЖЕН иметь атрибут @displayName, представленный не пустым значением.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or not(f103:IdentityDoc/f103:IdentityCardTypeId/@nullFlavor)">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</assert>
			<assert test="not(f103:IdentityDoc/f103:Series) or count(f103:IdentityDoc/f103:Series/@nullFlavor)&lt;=1">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:Series МОЖЕТ иметь атрибут @nullFlavor, заполненый значением из справочника "Причины отсутствия информации (NullFlavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код".</assert>
			<assert test="not(f103:IdentityDoc/f103:Number) or not(f103:IdentityDoc/f103:Number/@nullFlavor)">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:Number НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueOrgName) or count(f103:IdentityDoc/f103:IssueOrgName/@nullFlavor)&lt;=1">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IssueOrgName МОЖЕТ иметь атрибут @nullFlavor, заполненый значением из справочника "Причины отсутствия информации (NullFlavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код".</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueOrgCode) or count(f103:IdentityDoc/f103:IssueOrgCode/@nullFlavor)&lt;=1">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IssueOrgCode МОЖЕТ иметь атрибут @nullFlavor, заполненый значением из справочника "Причины отсутствия информации (NullFlavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код".</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueDate) or not(f103:IdentityDoc/f103:IssueDate/@nullFlavor)">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IssueDate НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueDate) or f103:IdentityDoc/f103:IssueDate/@*[name()='xsi:type']='TS'">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IssueDate ДОЛЖЕН иметь значение атрибута @xsi:type равное 'TS'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueDate) or f103:IdentityDoc/f103:IssueDate/@value">У1-48. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IssueDate ДОЛЖЕН иметь атрибут @value.</assert>
		</rule>
	</pattern>
	<!-- У1-49 -->
	<pattern>
		<rule context="ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity">
			<assert test="count(code)=1">У1-49. Элемент ClinicalDocument/participant[@typeCode=”IRCP”]/associatedEntity ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="code/@codeSystem='1.2.643.5.1.13.13.99.2.14'">У1-49. Элемент ClinicalDocument/participant[@typeCode=”IRCP”]/associatedEntity/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.14'.</assert>
			<assert test="code/@code!=''">У1-49. Элемент ClinicalDocument/participant[@typeCode=”IRCP”]/associatedEntity/code ДОЛЖЕН иметь атрибут @code, представленный не пустым значением.</assert>
			<assert test="code/@codeSystemName!=''">У1-49. Элемент ClinicalDocument/participant[@typeCode=”IRCP”]/associatedEntity/code ДОЛЖЕН иметь атрибут @codeSystemName, представленный не пустым значением.</assert>
			<assert test="code/@displayName!=''">У1-49. Элемент ClinicalDocument/participant[@typeCode=”IRCP”]/associatedEntity/code ДОЛЖЕН иметь атрибут @displayName, представленный не пустым значением.</assert>
			<report test="code/@nullFlavor">У1-49. Элемент ClinicalDocument/participant[@typeCode='IRCP']/associatedEntity/f103:IdentityDoc/f103:IdentityCardTypeId НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У1-50 -->
	<pattern>
		<rule context="ClinicalDocument/component">
			<assert test="count(structuredBody)=1">У1-50. Элемент ClinicalDocument/component ДОЛЖЕН иметь один элемент structuredBody.</assert>
		</rule>
	</pattern>
	<!-- У2-1 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody">
			<assert test="count(component/section/code[@code='DOCINFO'])=1">У2-1. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component со значением атрибута section/code@code равным 'DOCINFO'.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']">
			<assert test="@codeSystem='1.2.643.5.1.13.13.11.1379' or '1.2.643.5.1.13.13.99.2.197'">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section/code ДОЛЖЕН иметь один значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1379' или '1.2.643.5.1.13.13.99.2.197'.</assert>
			<assert test="count(title)=1">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section ДОЛЖЕН иметь один элемент title.</assert>
			<assert test="matches(title,'МЕДИЦИНСКОЕ СВИДЕТЕЛЬСТВО О РОЖДЕНИИ','i')">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section/title ДОЛЖЕН иметь значение 'МЕДИЦИНСКОЕ СВИДЕТЕЛЬСТВО О РОЖДЕНИИ'.</assert>
			<assert test="count(text)=1">У2-2. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component/section/text.</assert>
		</rule>
	</pattern>
	<!-- У2-2 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody">
			<assert test="count(component/section/code[@code='MOTHINFO'])=1">У2-2. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component со значением атрибута section/code@code равным 'MOTHINFO'.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']">
			<assert test="@codeSystem='1.2.643.5.1.13.13.11.1379' or '1.2.643.5.1.13.13.99.2.197'">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section/code ДОЛЖЕН иметь один значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1379' или '1.2.643.5.1.13.13.99.2.197'.</assert>
			<assert test="count(title)=1">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section ДОЛЖЕН иметь один элемент title.</assert>
			<assert test="matches(title,'Мать','i')">У2-2. Элемент ClinicalDocument/component/structuredBody/component/section/title ДОЛЖЕН иметь значение 'Мать'.</assert>
			<assert test="count(text)=1">У2-2. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component/section/text.</assert>
		</rule>
	</pattern>
	<!-- У2-3 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody">
			<assert test="count(component/section/code[@code='LABODELI'])=1">У2-3. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component со значением атрибута section/code@code равным 'LABODELI'.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']">
			<assert test="@codeSystem='1.2.643.5.1.13.13.11.1379' or '1.2.643.5.1.13.13.99.2.197'">У2-3. Элемент ClinicalDocument/component/structuredBody/component/section/code ДОЛЖЕН иметь один значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1379' или '1.2.643.5.1.13.13.99.2.197'.</assert>
			<assert test="count(title)=1">У2-3. Элемент ClinicalDocument/component/structuredBody/component/section ДОЛЖЕН содержать один элемент title.</assert>
			<assert test="matches(title,'Беременность и роды','i')">У2-3. Элемент ClinicalDocument/component/structuredBody/component/section/title ДОЛЖЕН иметь значение 'Беременность и роды'.</assert>
			<assert test="count(text)=1">У2-3. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН содержать один элемент component/section/text.</assert>
		</rule>
	</pattern>
	<!-- У2-4 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody">
			<assert test="count(component/section/code[@code='NBINFO'])=1">У2-4. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component со значением атрибута section/code@code равным 'LABODELI'.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']">
			<assert test="@codeSystem='1.2.643.5.1.13.13.11.1379' or '1.2.643.5.1.13.13.99.2.197'">У2-4. Элемент ClinicalDocument/component/structuredBody/component/section/code ДОЛЖЕН иметь один значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1379' или '1.2.643.5.1.13.13.99.2.197'.</assert>
			<assert test="count(title)=1">У2-4. Элемент ClinicalDocument/component/structuredBody/component/section ДОЛЖЕН иметь один элемент title.</assert>
			<assert test="matches(title,'Ребёнок','i')">У2-4. Элемент ClinicalDocument/component/structuredBody/component/section/title ДОЛЖЕН иметь значение 'Ребёнок'.</assert>
			<assert test="count(text)=1">У2-4. Элемент ClinicalDocument/component/structuredBody ДОЛЖЕН иметь один элемент component/section/text.</assert>
		</rule>
	</pattern>
	<!-- У3-1 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='4120'])=1">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '4120'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry[observation/code[@code='4120']]">
			<assert test="count(observation)=1">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4120']]">
			<assert test="count(value)=1 and value!=''">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4120']] ДОЛЖЕН иметь один элемент value, представленный не пустым значением.</assert>
			<assert test="value/@*[name()='xsi:type']='ST'">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4120']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'ST'.</assert>
			<report test="value/@nullFlavor">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4120']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4120']">
			<report test="@nullFlavor">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4120'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="matches(@displayName,'Серия медицинского свидетельства о рождении','i')">У3-1. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4120'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Серия медицинского свидетельства о рождении'.</assert>
		</rule>
	</pattern>
	<!-- У3-2 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='4121'])=1">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '4121'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry[observation/code[@code='4121']]">
			<assert test="count(observation)=1">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4121']]">
			<assert test="count(value)=1 and value!=''">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4121']] ДОЛЖЕН иметь один элемент value, представленный не пустым значением.</assert>
			<assert test="value/@*[name()='xsi:type']='ST'">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4121']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'ST'.</assert>
			<report test="value/@nullFlavor">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation[code[@code='4121']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4121']">
			<report test="@nullFlavor">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4121'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="matches(@displayName,'Номер медицинского свидетельства о рождении','i')">У3-2. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='DOCINFO']/entry/observation/code[@code='4121'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Номер медицинского свидетельства о рождении'.</assert>
		</rule>
	</pattern>
	<!-- У3-3 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']">
			<assert test="count(subject/relatedSubject)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject ДОЛЖЕН иметь один элемент relatedSubject.</assert>
			<assert test="subject/relatedSubject/@classCode='PRS'">У3-3. ЭЭлемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь значение атрибута @classCode равное 'PRS'.</assert>
			<assert test="count(subject/relatedSubject/f103:id)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент f103:id.</assert>
			<assert test="count(subject/relatedSubject/f103:IdentityDoc)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент f103:IdentityDoc.</assert>
			<assert test="count(subject/relatedSubject/code)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="subject/relatedSubject/code/@codeSystem='1.2.643.5.1.13.13.99.2.14'">У3-3. ЭЭлемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.14'.</assert>
			<assert test="subject/relatedSubject/code/@code='1'">У3-3. ЭЭлемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/code ДОЛЖЕН иметь значение атрибута @code равное '1'.</assert>
			<assert test="count(subject/relatedSubject/addr)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент addr.</assert>
			<assert test="count(subject/relatedSubject/subject)=1">У3-3. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент subject.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/code">
			<assert test="matches(@displayName,'Мать','i')">У3-3. ЭЭлемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/code ДОЛЖЕН иметь значение атрибута @displayName равное 'Мать'.</assert>
		</rule>
	</pattern>
	<!-- У3-4 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject">
			<assert test="count(f103:id)=1">У3-4. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент f103:id.</assert>
			<assert test="(f103:id/@nullFlavor) or (f103:id/@root and f103:id/@extension)">У3-4. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:id ДОЛЖЕН либо иметь атрибуты @root и @extension либо иметь атрибут @nullFlavor.</assert>
			<assert test="not(f103:id/@root) or f103:id/@root='1.2.643.100.3'">У3-4. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:id ДОЛЖЕН иметь значение атрибута @root, при его наличии, равное '1.2.643.100.3'.</assert>
		</rule>
	</pattern>
	<!-- У3-5 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject">
			<assert test="count(f103:IdentityDoc)=1">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject ДОЛЖЕН иметь один элемент f103:IdentityDoc.</assert>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:IdentityCardTypeId)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:IdentityCardTypeId.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or (f103:IdentityDoc/f103:IdentityCardTypeId/@*[name()='xsi:type']='CD')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or (f103:IdentityDoc/f103:IdentityCardTypeId/@codeSystem='1.2.643.5.1.13.13.99.2.48')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.48'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or (f103:IdentityDoc/f103:IdentityCardTypeId/@code!='')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or (f103:IdentityDoc/f103:IdentityCardTypeId/@codeSystemName!='')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="not(f103:IdentityDoc/f103:IdentityCardTypeId) or (f103:IdentityDoc/f103:IdentityCardTypeId/@displayName!='')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
			<report test="f103:IdentityDoc/f103:IdentityCardTypeId/@nullFlavor">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:Series)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:Series.</assert>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:Number)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:Number.</assert>
			<report test="f103:IdentityDoc/f103:Number/@nullFlavor">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:Number, при его наличии, НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:IssueOrgName)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:IssueOrgName.</assert>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:IssueOrgCode)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:IssueOrgName.</assert>
			<assert test="(f103:IdentityDoc/@nullFlavor) or (f103:IdentityDoc/f103:IssueDate)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc ДОЛЖЕН либо иметь атрибут @nullFlavor, либо иметь элемент f103:IssueDate.</assert>
			<report test="f103:IdentityDoc/f103:IssueDate/@nullFlavor">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IssueDate, при его наличии, НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="not(f103:IdentityDoc/f103:IssueDate) or (f103:IdentityDoc/f103:IssueDate/@*[name()='xsi:type']='TS')">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IssueDate, при его наличии, ДОЛЖЕН иметь значение атрибута @xsi:type равное 'TS'.</assert>
			<assert test="not(f103:IdentityDoc/f103:IssueDate) or (f103:IdentityDoc/f103:IssueDate/@value)">У3-5. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/subject/relatedSubject/f103:IdentityDoc/f103:IdentityCardTypeId, при его наличии, ДОЛЖЕН иметь атрибут @value.</assert>
		</rule>
	</pattern>
	<!-- У3-6 -->
	<pattern>
		<rule context="//subject/relatedSubject/addr[not(@nullFlavor)]">
			<assert test="count(fias:GUID)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент fias:GUID.</assert>
			<assert test="count(state)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент state.</assert>
			<report test="state/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/state НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="count(precinct)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент precinct.</assert>
			<report test="precinct/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/precinct НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="count(city)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент city.</assert>
			<report test="city/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/city НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="count(streetName)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент streetName.</assert>
			<report test="streetName/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/streetName НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="count(houseNumber)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент houseNumber.</assert>
			<report test="houseNumber/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/houseNumber НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="count(unitID)=1">У3-6. Элементы //subject/relatedSubject/addr ДОЛЖНЫ иметь один элемент unitID.</assert>
			<report test="unitID/@nullFlavor">У3-6. Элементы //subject/relatedSubject/addr/unitID НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="//subject/relatedSubject/addr[@nullFlavor]">
			<assert test="@nullFlavor='UNK'">У3-6. Если элементы //subject/relatedSubject/addr не могут быть заполнены данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "UNK".</assert>
		</rule>
	</pattern>
	<!-- У3-7 -->
	<pattern>
		<rule context="//subject/relatedSubject/subject">
			<assert test="count(name)=1">У3-7. Элементы //subject/relatedSubject/subject ДОЛЖНЫ иметь один элемент name.</assert>
			<assert test="count(birthTime)=1">У3-7. Элементы //subject/relatedSubject/subject ДОЛЖНЫ иметь один элемент birthTime.</assert>
			<assert test="count(name/family)=1">У3-7. Элементы //subject/relatedSubject/subject/name ДОЛЖНЫ иметь один элемент family.</assert>
			<assert test="count(name/given)=1 or 2">У3-7. Элементы //subject/relatedSubject/subject/name ДОЛЖНЫ иметь один элемент family.</assert>
			<report test="name/family/@nullFlavor">У3-7. Элементы //subject/relatedSubject/subject/name/family НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<report test="name/given/@nullFlavor">У3-7. Элементы //subject/relatedSubject/subject/name/given НЕ ДОЛЖНЫ иметь атрибут @nullFlavor.</report>
			<assert test="not(name/@nullFlavor) or (name/@nullFlavor='UNK')">У3-7. Если элементы //subject/relatedSubject/subject/name не могут быть заполнены данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "UNK".</assert>
			<assert test="birthTime/@nullFlavor or matches(birthTime/@value, '^[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}$')">У3-7. Дата в элементах //subject/relatedSubject/subject/birthTime ДОЛЖНА быть указана с точностью до дня.</assert>
			<assert test="not(birthTime/@nullFlavor) or (birthTime/@nullFlavor='UNK')">У3-7. Если элементы //subject/relatedSubject/subject/birthTime не могут быть заполнены данными, то атрибут @nullFlavor ДОЛЖЕН быть заполнен значением из справочника "Причины отсутствия информации (Null Flavor)" (идентификатор справочника "1.2.643.5.1.13.13.99.2.286", поле "Код"). Допустимое в данном случае значение для @nullFlavor: "UNK".</assert>
		</rule>
	</pattern>
	<!-- У3-8 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry[observation/code[@code='250']]">
			<assert test="count(observation)=1">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='250'])=1">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '250'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='250']">
			<assert test="matches(@displayName,'Местность регистрации матери','i')">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='250'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Местность регистрации матери'.</assert>
			<report test="@nullFlavor">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='250'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]">
			<assert test="count(value)=1">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@codeSystem='1.2.643.5.1.13.13.11.1042'">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1042'.</assert>
			<assert test="value/@*[name()='xsi:type']='CD'">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<report test="value/@nullFlavor">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="value/@code!=''">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="value/@codeSystemName!=''">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="value/@displayName!=''">У3-8. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='250']]/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-9 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry[observation/code[@code='260']]">
			<assert test="count(observation)=1">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='260'])=1">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '260'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='260']">
			<assert test="matches(@displayName,'Семейное положение матери','i')">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='260'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Семейное положение матери'.</assert>
			<report test="@nullFlavor">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='260'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]">
			<assert test="count(value)=1">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@codeSystem='1.2.643.5.1.13.13.99.2.15'">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.15'.</assert>
			<assert test="value/@*[name()='xsi:type']='CD'">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<report test="value/@nullFlavor">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="value/@code!=''">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="value/@codeSystemName!=''">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="value/@displayName!=''">У3-9. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='260']]/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-10 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry[observation/code[@code='270']]">
			<assert test="count(observation)=1">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='270'])=1">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '270'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='270']">
			<assert test="matches(@displayName,'Образование матери','i')">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='270'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Образование матери'.</assert>
			<report test="@nullFlavor">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='270'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]">
			<assert test="count(value)=1">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@codeSystem='1.2.643.5.1.13.13.99.2.16'">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.16'.</assert>
			<assert test="value/@*[name()='xsi:type']='CD'">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<report test="value/@nullFlavor">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="value/@code!=''">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="value/@codeSystemName!=''">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="value/@displayName!=''">У3-10. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='270']]/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-11 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry[observation/code[@code='280']]">
			<assert test="count(observation)=1">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='280'])=1">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '280'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='280']">
			<assert test="matches(@displayName,'Занятость матери','i')">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='280'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Занятость матери'.</assert>
			<report test="@nullFlavor">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='280'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]">
			<assert test="count(value)=1">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@codeSystem='1.2.643.5.1.13.13.99.2.17'">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.17'.</assert>
			<assert test="value/@*[name()='xsi:type']='CD'">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<report test="value/@nullFlavor">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="value/@code!=''">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="value/@codeSystemName!=''">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="value/@displayName!=''">У3-11. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='280']]/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-12 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry[observation/code[@code='5010']]">
			<assert test="count(observation)=1">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='5010'])=1">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '5010'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='5010']">
			<assert test="matches(@displayName,'Серия и номер полиса ОМС','i')">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='5010'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Серия и номер полиса ОМС'.</assert>
			<report test="@nullFlavor">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation/code[@code='5010'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='5010']]">
			<assert test="count(value)=1 and value!=''">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='5010']] ДОЛЖЕН иметь один элемент value, представленный не пустым значением.</assert>
			<assert test="value/@*[name()='xsi:type']='ST'">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='5010']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'ST'.</assert>
			<report test="value/@nullFlavor">У3-12. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='MOTHINFO']/entry/observation[code[@code='5010']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-13 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry[observation/code[@code='290']]">
			<assert test="count(observation)=1">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry[observation]">
			<assert test="observation/@classCode='OBS'">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='290'])=1">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '290'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation/code[@code='290']">
			<assert test="matches(@displayName,'Срок первой явки к врачу\\фельдшеру\\акушерке \(в неделях\)','i')">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation/code[@code='290'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Срок первой явки к врачу\фельдшеру\акушерке (в неделях)'.</assert>
			<report test="@nullFlavor">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation/code[@code='5010'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']]">
			<assert test="count(value)=1">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@value!=''">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']]/value ДОЛЖЕН иметь не пустое значение атрибута @value.</assert>
			<assert test="value/@unit='нед'">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']]/value ДОЛЖЕН иметь значение атрибута @unit равное 'нед'.</assert>
			<assert test="value/@*[name()='xsi:type']='PQ'">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'PQ'.</assert>
			<report test="value/@nullFlavor">У3-13. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/observation[code[@code='290']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-14 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry[act]">
			<assert test="count(act)=1">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry ДОЛЖЕН иметь один элемент act.</assert>
			<assert test="act/@classCode='ACT'">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь значение атрибута @classCode равное 'ACT'.</assert>
			<assert test="act/@moodCode='EVN'">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(act/code)=1">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="count(act/performer/assignedEntity)=1">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь один элемент performer/assignedEntity.</assert>
			<assert test="count(act/participant)=1">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь один элемент participant.</assert>
			<assert test="count(act/entryRelationship)=2">У3-14. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='LABODELI']/entry/act ДОЛЖЕН иметь два элемента entryRelationship.</assert>
		</rule>
	</pattern>
	<!-- У3-15 -->
	<pattern>
		<rule context="//act/code">
			<assert test="@code='B01.001.009' or @code='B02.001.002' or @code='B01.001.006'">У3-15. Элементы //act/code ДОЛЖНЫ иметь значение атрибута @code из справочника "Номенклатура медицинских услуг". Допустимые значения для атрибута @code: "B01.001.009", "B02.001.002","B01.001.006".</assert>
			<assert test="@codeSystem='1.2.643.5.1.13.13.11.1070'">У3-15. Элементы //act/code ДОЛЖНЫ иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1070'.</assert>
			<assert test="@codeSystemName!=''">У3-15. Элементы //act/code ДОЛЖНЫ иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="@displayName!=''">У3-15. Элементы //act/code ДОЛЖНЫ иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-16 -->
	<pattern>
		<rule context="//act/performer/assignedEntity">
			<assert test="count(id)=1">У3-16. Элементы //act/performer/assignedEntity ДОЛЖНЫ иметь один элемент id.</assert>
			<assert test="count(code)=1">У3-16. Элементы //act/performer/assignedEntity ДОЛЖНЫ иметь один элемент code.</assert>
			<assert test="count(assignedPerson)=1">У3-16. Элементы //act/performer/assignedEntity ДОЛЖНЫ иметь один элемент assignedPerson.</assert>
		</rule>
	</pattern>
	<!-- У3-17 -->
	<pattern>
		<rule context="//act/performer/assignedEntity/id">
			<assert test="@extension">У3-16. Элементы //act/performer/assignedEntity/id ДОЛЖНЫ иметь атрибут @extension.</assert>
			<assert test="matches(@root,'^1.2.643.5.1.13.13.12.[1-4]{1}\.[0-9]{1,2}\.[0-9]{1,6}\.100\.[0-9]{1,9}\.[0-9]{1,9}\.70$')">У3-17. Элементы //act/performer/assignedEntity/id ДОЛЖНЫ иметь синтаксически корректное значение атрибута @root, соответствующее регулярному выражению '([0-2])([.]([1-9][0-9]*|0))+', сформированным по правилу формирования идентификаторов персонала, т.е. "OID_медицинской_организации.100.НомерМИС.НомерЭкзМИС.70.</assert>
		</rule>
	</pattern>
	<!-- У3-18 -->
	<pattern>
		<rule context="//act/performer/assignedEntity/code">
			<assert test="@codeSystem='1.2.643.5.1.13.13.99.2.32'">У3-18. Элементы //act/performer/assignedEntity/code ДОЛЖНЫ иметь значение атрибута @codeSystem равное '“1.2.643.5.1.13.13.99.2.32'.</assert>
			<assert test="@code!=''">У3-18. Элементы //act/performer/assignedEntity/code ДОЛЖНЫ иметь не пустое значение атрибута @code.</assert>
			<assert test="@codeSystemName!=''">У3-18. Элементы //act/performer/assignedEntity/code ДОЛЖНЫ иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="@displayName!=''">У3-18. Элементы //act/performer/assignedEntity/code ДОЛЖНЫ иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-19 -->
	<pattern>
		<rule context="//act/participant">
			<assert test="@typeCode='LOC'">У3-19. Элементы //act/participant ДОЛЖНЫ иметь значение атрибута @typeCode равное 'LOC'.</assert>
			<assert test="count(participantRole)=1">У3-19. Элементы //act/participant ДОЛЖНЫ иметь один элемент participantRole.</assert>
			<assert test="count(participantRole/code)=1">У3-19. Элементы //act/participant/participantRole ДОЛЖНЫ иметь один элемент code.</assert>
		</rule>
	</pattern>
	<!-- У3-20 -->
	<pattern>
		<rule context="//act/participant/participantRole/code">
			<assert test="@code!=''">У3-20. Элементы //act/participant/participantRole/code ДОЛЖНЫ иметь не пустое значение атрибута @code.</assert>
			<assert test="@codeSystem='1.2.643.5.1.13.13.99.2.30'">У3-20. Элементы //act/participant/participantRole/code ДОЛЖНЫ иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.30'.</assert>
			<assert test="@codeSystemName!=''">У3-20. Элементы //act/participantparticipantRole/participantRole/code ДОЛЖНЫ иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="@displayName!=''">У3-20. Элементы //act/participant/participantRole/code ДОЛЖНЫ иметь не пустое значение атрибута @displayName.</assert>
		</rule>
	</pattern>
	<!-- У3-21 -->
	<pattern>
		<rule context="//act/entryRelationship[1]">
			<assert test="@typeCode='COMP'">У3-21. Первый элемент act/entryRelationship ДОЛЖЕН иметь значение атрибута @typeCode равное 'COMP'.</assert>
			<assert test="count(observation)=1">У3-21. Первый элемент act/entryRelationship ДОЛЖЕН иметь один элемент observation.</assert>
			<assert test="count(observation/code)=1">У3-21. Первый элемент act/entryRelationship/observation ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-21. Первый элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<assert test="observation/code/@code='300'">У3-21. Первый элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @code равное '300'.</assert>
			<assert test="matches(observation/code/@displayName,'Тип родов \(плодность\)','i')">У3-21. Первый элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @displayName равное 'Тип родов (плодность)'.</assert>
			<assert test="count(observation/value)=1">У3-21. Первый элемент act/entryRelationship/observation ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="observation/value/@codeSystem=['1.2.643.5.1.13.13.99.2.31','1.2.643.5.1.13.2.1.1.1504.44']">У3-21. Первый элемент act/entryRelationship/observation/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.31' или '1.2.643.5.1.13.2.1.1.1504.44'.</assert>
			<assert test="observation/value/@*[name()='xsi:type']='CD'">У3-21. Первый элемент act/entryRelationship/observation/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<assert test="observation/value/@code!=''">У3-21. Первый элемент act/entryRelationship/observation/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="observation/value/@codeSystemName!=''">У3-21. Первый элемент act/entryRelationship/observation/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
			<assert test="observation/value/@displayName!=''">У3-21. Первый элемент act/entryRelationship/observation/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
			<report test="observation/code/@nullFlavor">У3-21. Первый элемент act/entryRelationship/observation/code НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="observation/value/@nullFlavor">У3-21. Первый элемент act/entryRelationship/observation/value НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-22 -->
	<pattern>
		<rule context="//act/entryRelationship[2]">
			<assert test="@typeCode='COMP'">У3-22. Второй элемент act/entryRelationship ДОЛЖЕН иметь значение атрибута @typeCode равное 'COMP'.</assert>
			<assert test="count(observation)=1">У3-22. Второй элемент act/entryRelationship ДОЛЖЕН иметь один элемент observation.</assert>
			<assert test="count(observation/code)=1">У3-22. Второй элемент act/entryRelationship/observation ДОЛЖЕН иметь один элемент code.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-22. Второй элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<assert test="observation/code/@code='310'">У3-22. Второй элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @code равное '310'.</assert>
			<assert test="matches(observation/code/@displayName,'Число родившихся детей','i')">У3-22. Второй элемент act/entryRelationship/observation/code ДОЛЖЕН иметь значение атрибута @displayName равное 'Число родившихся детей'.</assert>
			<assert test="count(observation/value)=1">У3-22. Второй элемент act/entryRelationship/observation ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="observation/value/@*[name()='xsi:type']='INT'">У3-22. Второй элемент act/entryRelationship/observation/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'INT'.</assert>
			<assert test="observation/value/@value!=''">У3-22. Второй элемент act/entryRelationship/observation/value ДОЛЖЕН иметь не пустое значение атрибута @value.</assert>
			<report test="observation/code/@nullFlavor">У3-22. Второй элемент act/entryRelationship/observation/code НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<report test="observation/value/@nullFlavor">У3-22. Второй элемент act/entryRelationship/observation/value НЕ ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-23 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry[observation/code[@code='370']]">
			<assert test="count(observation)=1">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='370'])=1">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '370'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='370']">
			<assert test="matches(@displayName,'Которым по счёту ребёнок был рождён у матери','i')">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='370'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Которым по счёту ребёнок был рождён у матери'.</assert>
			<report test="@nullFlavor">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='370'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='370']]">
			<assert test="count(value)=1">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='370']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@*[name()='xsi:type']='INT'">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='370']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'INT'.</assert>
			<report test="value/@nullFlavor">У3-23. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='370']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-24 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry[observation/code[@code='380']]">
			<assert test="count(observation)=1">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='380'])=1">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '380'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='380']">
			<assert test="matches(@displayName,'Которым по счёту ребёнок был рождён в данных родах','i')">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='380'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Которым по счёту ребёнок был рождён в данных родах'.</assert>
			<report test="@nullFlavor">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='380'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='380']]">
			<assert test="count(value)=1">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='380']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@*[name()='xsi:type']='INT'">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='380']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'INT'.</assert>
			<report test="value/@nullFlavor">У3-24. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='380']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-25 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry[observation/code[@code='350']]">
			<assert test="count(observation)=1">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='350'])=1">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '350'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='350']">
			<assert test="matches(@displayName,'Местность рождения ребёнка','i')">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='350'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Местность рождения ребёнка'.</assert>
			<report test="@nullFlavor">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='350'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]">
			<assert test="count(value)=1">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@codeSystem='1.2.643.5.1.13.13.11.1042'">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.11.1042'.</assert>
			<assert test="value/@*[name()='xsi:type']='CD'">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'CD'.</assert>
			<report test="value/@nullFlavor">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
			<assert test="value/@code!=''">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value ДОЛЖЕН иметь не пустое значение атрибута @code.</assert>
			<assert test="value/@displayName!=''">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value ДОЛЖЕН иметь не пустое значение атрибута @displayName.</assert>
			<assert test="value/@codeSystemName!=''">У3-25. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='350']]/value ДОЛЖЕН иметь не пустое значение атрибута @codeSystemName.</assert>
		</rule>
	</pattern>
	<!-- У3-26 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry[observation/code[@code='350']]">
			<assert test="count(observation)=1">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='410'])=1">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '410'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='410']">
			<assert test="matches(@displayName,'Масса тела ребёнка при рождении \(в граммах\)','i')">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='410'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Масса тела ребёнка при рождении (в граммах)'.</assert>
			<report test="@nullFlavor">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='410'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']]">
			<assert test="count(value)=1">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@*[name()='xsi:type']='PQ'">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'PQ'.</assert>
			<assert test="value/@value!=''">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']]/value ДОЛЖЕН иметь не пустое значение атрибута @value.</assert>
			<assert test="matches(value/@unit,'г','i')">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']]/value ДОЛЖЕН иметь значение атрибута @unit равное 'г'.</assert>
			<report test="value/@nullFlavor">У3-26. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='410']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
	<!-- У3-27 -->
	<pattern>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry[observation/code[@code='420']]">
			<assert test="count(observation)=1">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry ДОЛЖЕН иметь один элемент observation.</assert>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry">
			<assert test="observation/@classCode='OBS'">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @classCode равное 'OBS'.</assert>
			<assert test="observation/@moodCode='EVN'">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь значение атрибута @moodCode равное 'EVN'.</assert>
			<assert test="count(//code[@code='420'])=1">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation ДОЛЖЕН иметь один элемент code со значением атрибута @code равным '420'.</assert>
			<assert test="observation/code/@codeSystem='1.2.643.5.1.13.13.99.2.166'">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь значение атрибута @codeSystem равное '1.2.643.5.1.13.13.99.2.166'.</assert>
			<report test="observation/code/@nullFlavor">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='420']">
			<assert test="matches(@displayName,'Длина тела ребёнка при рождении \(в сантиметрах\)','i')">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='420'] ДОЛЖЕН иметь значение атрибута @displayName равное 'Длина тела ребёнка при рождении (в сантиметрах)'.</assert>
			<report test="@nullFlavor">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation/code[@code='420'] не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
		<rule context="ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']]">
			<assert test="count(value)=1">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']] ДОЛЖЕН иметь один элемент value.</assert>
			<assert test="value/@*[name()='xsi:type']='PQ'">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']]/value ДОЛЖЕН иметь значение атрибута @xsi:type равное 'PQ'.</assert>
			<assert test="value/@value!=''">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']]/value ДОЛЖЕН иметь не пустое значение атрибута @value.</assert>
			<assert test="matches(value/@unit,'см','i')">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']]/value ДОЛЖЕН иметь значение атрибута @unit равное 'см'.</assert>
			<report test="value/@nullFlavor">У3-27. Элемент ClinicalDocument/component/structuredBody/component/section[code/@code='NBINFO']/entry/observation[code[@code='420']]/value не ДОЛЖЕН иметь атрибут @nullFlavor.</report>
		</rule>
	</pattern>
</schema>